#ifndef ANALYSIS_FOR_SIXBIT_H_H
#define ANALYSIS_FOR_SIXBIT_H_H

#include "common.h"
#include "analysis_for_sixbit.h"
#include "intersection_set.h"
#include "mul_preparation.h"
#include "analysis_for_fourbit.h"

word sub_error_for_sixbit( word left_part , word right_part ) ;
word f_function_for_sixbit( word sixbit ) ;
//void sub_function_for_sixbit( word left_part , word right_part , borrow_bit low , word add , borrow_bit& high , word& sub_result ) ;
//word get_original_dif_for_sixbit( word original_dif , int shiftnum ) ;
void differential_f_for_asixbit( intersectionset* b_list , word insert_error , word original_dif_b , int shiftnum , intersectionset* a_list ) ;
word f_function_for_tenbit( word tenbit ) ;
word sub_error_for_tenbit( word left_part , word right_part ) ;
void differential_f_for_tenbit( word insert_error , word original_dif_b , int shiftnum , intersectionset* b_list ) ;
word f_function_for_fourteenbit( word fourteenbit ) ;
word sub_error_for_fourteenbit( word left_part , word right_part ) ;
void differential_f_for_fourteenbit( mul_list* a_six , mul_list* b_six , word insert_error , word original_dif_b , int shiftnum , intersectionset* b_list ) ;

#endif